package cn.iocoder.yudao.module.hs.dal.mysql.rfidchangerecord;

import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
import cn.iocoder.yudao.module.hs.controller.admin.rfidchangerecord.vo.RfidChangeRecordPageReqVO;
import cn.iocoder.yudao.module.hs.dal.dataobject.rfidchangerecord.RfidChangeRecordDO;
import org.apache.ibatis.annotations.Mapper;

/**
 * RFID更换记录 Mapper
 *
 * @author 航盛
 */
@Mapper
public interface RfidChangeRecordMapper extends BaseMapperX<RfidChangeRecordDO> {

    default PageResult<RfidChangeRecordDO> selectPage(RfidChangeRecordPageReqVO reqVO) {
        return selectPage(reqVO, new LambdaQueryWrapperX<RfidChangeRecordDO>()
                .eqIfPresent(RfidChangeRecordDO::getWarehouseId, reqVO.getWarehouseId())
                .likeIfPresent(RfidChangeRecordDO::getOldRfidCode, reqVO.getOldRfidCode())
                .likeIfPresent(RfidChangeRecordDO::getNewRfidCode, reqVO.getNewRfidCode())
                .eqIfPresent(RfidChangeRecordDO::getChangeReason, reqVO.getChangeReason())
                .eqIfPresent(RfidChangeRecordDO::getChangeStatus, reqVO.getChangeStatus())
                .betweenIfPresent(RfidChangeRecordDO::getChangeTime, reqVO.getChangeTime())
                .eqIfPresent(RfidChangeRecordDO::getChangeUserId, reqVO.getChangeUserId())
                .likeIfPresent(RfidChangeRecordDO::getChangeUserName, reqVO.getChangeUserName())
                .eqIfPresent(RfidChangeRecordDO::getAssignUserId, reqVO.getAssignUserId())
                .likeIfPresent(RfidChangeRecordDO::getAssignUserName, reqVO.getAssignUserName())
                .betweenIfPresent(RfidChangeRecordDO::getCreateTime, reqVO.getCreateTime())
                .orderByDesc(RfidChangeRecordDO::getId));
    }

}